#ifndef ENVIRONMENT_H_
#define ENVIRONMENT_H_

#include <vector>
#include <string>

using namespace std;

namespace phnq
{
	namespace phnqlets
	{
		enum
		{
			COMPRESSION_DEFAULT,
			COMPRESSION_NONE,
			COMPRESSION_DEFLATE_STATIC,
			COMPRESSION_DEFLATE_DYNAMIC
		};
		
		struct compression_info
		{
			int type;
			int level;
		};
		
		class Environment
		{
			public:
				static Environment* getInstance();
				~Environment();
				void addResourcePath(string path);
				vector<string> getResourcePaths();
				double getStaleFileCheckInterval();
				void setStaleFileCheckInterval(double interval);
				compression_info getCompressionForPath(string path);
			
			private:
				Environment();
				vector<string> resourcePaths;
				double staleFileCheckInterval;
		};
	}
}

#endif // ENVIRONMENT_H_
